package com.dragon.app.ykd.constant;

/**
 * 进件流程节点信息
 * 
 * @title ApplyNode
 * @author tuxu
 * @date 2018年10月11日
 */
public enum ApplyNode {
	/**
	 * 进件初始化节点
	 */
	APPLY_INIT(0, "进件初始化节点"),
	/**
	 * 绑卡节点
	 */
	BIND_CARD(1, "绑卡完成"),
	/**
	 * 通讯录已授权
	 */
	LINKMAN_AUTH(2, "通讯录已授权"),
	
	/**
	 * 保存紧急联系人
	 */
	SAVE_RELATION(11, "保存紧急联系人"),
	/**
	 * 运营商已认证
	 */
	CARRIER_AUTH(3, "运营商已认证"),
	/**
	 * 支付宝已认证
	 */
	ALIPAY_AUTH(4, "支付宝已认证"),
	/**
	 * 审核中
	 */
	REVIEW_DOING(5, "审核中"),
	/**
	 * 审核通过
	 */
	REVIEW_SUCCESS(6, "审核通过"),
	/**
	 * 审核拒绝
	 */
	REVIEW_REFUSE(7, "审核拒绝"),
	/**
	 * 确认借款
	 */
	LOAN_CONFIRM(8, "确认借款"),
	
	/**
	 * 决策拒绝
	 */
	DECISION_REFUSE(9, "决策拒绝"),
	
	/**
	 * 重新拉回
	 */
	RE_APPROVE(10, "重新拉回审核");
	

	private int code;

	private String msg;

	private ApplyNode(int code, String msg) {
		this.code = code;
		this.msg = msg;
	}

	public int getCode() {
		return code;
	}

	public void setCode(int code) {
		this.code = code;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	/**
	 * 判断是否包含节点状态码
	 * 
	 * @param code
	 * @return
	 */
	public static boolean containsCode(int code) {
		for (ApplyNode applyNode : ApplyNode.values()) {
			if (applyNode.getCode() == code) {
				return true;
			}
		}
		return false;
	}
	
	public static boolean notContainsCode(int code) {
		return !containsCode(code);
	}
}
